package fox.framework.rpc.context.event;

/**
 * @author cuichao
 * @Description: RpcEventMulticaster
 * @Date: create in 2021/2/18 20:30
 */
public interface RpcEventMulticaster {
    /**
     * 添加一个事件监听
     * @param eventListener
     */
    void addEventListener(RpcEventListener eventListener);

    /**
     * 移除一个事件监听
     * @param eventListener
     */
    void removeEventListener(RpcEventListener eventListener);

    /**
     * 发布事件
     * @param event
     */
    void publishEvent(RpcEvent event);

    /**
     * 清楚所有事件
     */
    void clear();
}
